package com.ruoyi.warehousemanager.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.warehousemanager.domain.Warehouse;
import com.ruoyi.warehousemanager.pojo.WarehouseVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface WarehouseMapper extends BaseMapper<Warehouse> {
    /**
     * 查询仓库管理
     *
     * @param warehouseId 仓库管理主键
     * @return 仓库管理
     */
    public Warehouse selectWarehouseByWarehouseId(Long warehouseId);

    /**
     * 查询仓库管理列表
     *
     * @param warehouse 仓库管理
     * @return 仓库管理集合
     */
    public List<WarehouseVO> selectWarehouseList(WarehouseVO warehouse);

    /**
     * 新增仓库管理
     *
     * @param warehouse 仓库管理
     * @return 结果
     */
    public int insertWarehouse(Warehouse warehouse);

    /**
     * 新增仓库管理到部门表
     *
     * @param warehouse 仓库管理
     * @return 结果
     */
    public int insertWarehousetoDept(Warehouse warehouse);

    /**
     * 修改仓库管理
     *
     * @param warehouse 仓库管理
     * @return 结果
     */
    public int updateWarehouse(Warehouse warehouse);

    /**
     * 修改部门表中的仓库管理信息
     *
     * @param warehouse 仓库管理
     * @return 结果
     */
    public int updateWarehouseinDept(Warehouse warehouse);

    /**
     * 删除仓库管理
     *
     * @param warehouseId 仓库管理主键
     * @return 结果
     */
    public int deleteWarehouseByWarehouseId(Long warehouseId);

    /**
     * 批量删除仓库管理
     *
     * @param warehouseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWarehouseByWarehouseIds(Long[] warehouseIds);

    /**
     * 删除部门
     *
     * @param warehouseId 仓库管理主键
     * @return 结果
     */
    public int deleteDeptByWarehouseId(Long warehouseId);

    /**
     * 批量删除部门
     *
     * @param warehouseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDeptByWarehouseIds(Long[] warehouseIds);
}
